/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package edu.aacorps.javaeal.repository;

import edu.aacorps.javaeal.domain.AbstractEntity;
import java.util.List;

/**
 *
 * @author Ati
 * @param <T>
 * @param <I>
 */
public interface BaseRepository<T extends AbstractEntity, I> {
    
    void create(T t);

    void edit(T t);

    void remove(T t);

    T find(I id);

    List<T> findAll();

    List<T> findRange(int[] range);

    int count();
    
}
